Flash memories are high-integration non-volatile memories. Flash memories have been used as a main memory in systems due to excellent data preservation. In addition, flash memories can be available to a DRAM (Dynamic RAM) or a SRAM (Static RAM).
Flash memories have been a main concern as alternate devices of hard and floppy disks in the memory field because of their high-integration and capacity. These flash memories are widely useful in the field of digital storage media of portable digital electronic machines such as cellular telephones, MP3 players, camcoders and personal digital assistants (PDAs), and so on.
However, these flash memories have several disadvantages in comparison with RAM. For example, they require a relatively long time to read and write data, and it is impossible to perform random access. To overcome these disadvantages, new methods of supporting random access by locating buffer memories in flash memory devices have been developed in recent years. The buffer memories are random access memories (e.g., DRAM or SRAM).
Data is not directly stored in a flash memory from a host but stored in a random access buffer memory in advance. Next, data stored in the buffer memory is stored in the flash memory. In the same way, data stored in the flash memory is not directly transmitted to the host but is stored in the buffer memory in advance. Next, data stored in the buffer memory is transmitted to the host.
In order to support random access, before data is written in the flash memory or is transmitted to the host, a buffer memory for temporarily holding data is required. Accordingly, the buffer memory is indispensable in systems for randomly accessing data employing the flash memory.
However, flash memories being non-volatile memory and buffer memories being volatile memory have different address structures, respectively. The flash memories consist of pages being a basic unit of write and read. The page is divided into a main region and a spare region. Generally, memory capacity of one page is 528 Bytes. Among 528 Bytes, the main region is 512 Bytes, and the spare region is 16 Bytes. The buffer memory is not divided into a page, nor main and spare regions. Accordingly, in order to use a buffer memory efficiently, it is essential to coordinate the buffer memory structure with the flash memory structure.